# $Id: Makefile,v 1.23 1999/02/03 23:02:23 ericb Exp $
# Copyright (C) 1995 - 1998, Hewlett-Packard Company, all rights reserved.
# Written by Keith Bayern and Eric Backus

# Makefile for example Plug&Play code

E1432_BASE	= /opt/e1432
E1432_HOSTLIB	= $(E1432_BASE)/hostlib
E1432_PNP_BASE	= /opt/vxipnp/hpux/hpe1432
E1432_PNP_INC	= $(E1432_PNP_BASE)
E1432_PNP_LIB	= $(E1432_PNP_BASE)
E1432_PNP_EXAMPLES = $(E1432_BASE)/pnp-examples
E1432_XPLOT_LIB = ../demo
E1432_XPLOT_INC = ../demo

CC		= cc
LD		= cc
CFLAGS		= -Aa -I $(E1432_PNP_INC) -I $(E1432_HOSTLIB) -I $(E1432_XPLOT_INC)
CFLAGSE		= -Ae -I $(E1432_PNP_INC) -I $(E1432_HOSTLIB) -I $(E1432_XPLOT_INC)
LDFLAGS		= -s
LNFLAGS		= $(CFLAGS) -x
LNLIBS		=

# These are built on both HP-UX 9.x and 10.x
CFILES		= fft.c minarb.c minimum.c raw.c speed.c trigger.c
OBJS		= $(CFILES:.c=.o)
PROGS		= $(CFILES:.c=)
# These are built only on HP-UX 10.x
CFILES10	= datarate.c direct.c event.c find.c scope.c vtlscan.c
OBJS10		= $(CFILES10:.c=.o)
PROGS10		= $(CFILES10:.c=)

LDLIBS		= $(E1432_PNP_LIB)/hpe1432.sl -lsicl
LDLIBS10	= $(E1432_XPLOT_LIB)/xplot.a $(E1432_PNP_LIB)/hpe1432.sl \
		  -L /usr/lib/X11R5 -lX11 -lm

# These are used to test HP-UX version, evals to 1 if true
#  HP-UX 9.x
HPUX9PX         = `uname -a|grep ".09."|wc -l`
#  HP-UX 10.2x
HPUX10P2        = `uname -a|grep ".10.2"|wc -l`
IAMROOT         = `id |grep "root"|wc -l`

all:	$(PROGS)
	if [ $(HPUX10P2) -eq 1 ]; then $(MAKE) all10; fi

all10:	$(PROGS10)

lint:	$(CFILES)
	lint $(LNFLAGS) $(CFILES) $(LNLIBS) > lint

run:

install:        all
	cp -f Makefile $(CFILES) $(PROGS) $(E1432_PNP_EXAMPLES)
	if [ $(HPUX10P2) -eq 1 ]; then $(MAKE) install10; fi
	chmod -w $(E1432_PNP_EXAMPLES)/*

install10:        all
	cp -f $(CFILES10) $(PROGS10) $(E1432_PNP_EXAMPLES)

clean:
	rm -f lint $(PROGS) $(PROGS10) *.o *~

$(PROGS):
	if [ $(HPUX10P2) -eq 1 ]; then $(LD) $(LDFLAGS) $@.o\
	    $(LDLIBS10) -o $@; fi
	if [ $(HPUX9PX) -eq 1 ]; then $(LD) $(LDFLAGS) $@.o\
	    $(LDLIBS) -o $@; fi

$(PROGS10):
	$(LD) $(LDFLAGS) $@.o $(LDLIBS10) -o $@

$(OBJS) $(OBJS10):	$(E1432_PNP_INC)/hpe1432.h

datarate:	datarate.o
direct:		direct.o
event:		event.o
find:		find.o
fft:		fft.o
minarb:		minarb.o
minimum:	minimum.o
raw:		raw.o
scope:	scope.o
speed:		speed.o
trigger:	trigger.o
vtlscan:	vtlscan.o


find.o:		find.c
	$(CC) $(CFLAGSE) -c find.c

#event.o:	event.c
#	$(CC) $(CFLAGS) -c -DINSTR_CALLBACKS event.c

#datarate.o:	datarate.c
#	$(CC) $(CFLAGS) -c -DINSTR_CALLBACKS datarate.c

scope.o:	scope.c
	$(CC) $(CFLAGSE) -c scope.c

